package data 



import ( 
	"database/sql/driver"
	"encoding/json"
	// "log"
)

//////////////////////////////////////////////变量处理////////////////////////////

// StringArray 支持 []string 自动转 json 存储到数据库
// []string 切片类型不可以直接映射到数据库的对应字段,需要转化为json格式
type StringArray []string

// Value 实现 driver.Valuer 接口，写入数据库时调用
func (a StringArray) Value() (driver.Value, error) {
	return json.Marshal(a)
}

// Scan 实现 sql.Scanner 接口，读取数据库时调用
func (a *StringArray) Scan(value interface{}) error {
	bytes, ok := value.([]byte)
	if !ok {
		return nil
	}
	return json.Unmarshal(bytes, a)
}
